package com.victualler.business.inventory.service;

import com.victualler.business.inventory.dto.InventoryOrderInfoDto;
import com.victualler.business.inventory.dto.print.InventoryPrintDto;
import com.victualler.business.inventory.entity.InventoryOrderDao;
import com.victualler.business.inventory.repository.InventoryOrderQueryRepository;
import com.victualler.business.inventory.repository.InventoryOrderRepository;
import com.victualler.core.base.service.BaseService;

import javax.transaction.Transactional;
import java.util.List;


/**
 * @author: Guoshichang
 * @discription:
 */
public interface InventoryOrderService extends BaseService<InventoryOrderDao, InventoryOrderRepository,InventoryOrderQueryRepository>{
    /**
     * @author Guoshichang
     * @since 13:39 on 2018/7/7.
     * @param id 预订单id
     * @Function  根据条件入参prePurchaseRequestDto动态分页查询权限
     */
    public InventoryOrderInfoDto findInfo(Long id);

    /**
     * @author Guoshichang
     * @since 13:39 on 2018/7/7.
     * @param inventoryOrderInfoDto 预订单实体大对象
     * @Function  保存预订单实体大对象
     */
    public void saveInfo(InventoryOrderInfoDto inventoryOrderInfoDto);

    /**
     * @author Guoshichang
     * @since 18:01 on 2018/10/9.
     * @param inventoryOrderDao 审查大对象
     * @return
     * @Function
     */
    public void check(InventoryOrderDao inventoryOrderDao);

    /**
     * @author Guoshichang
     * @since 13:39 on 2018/7/7.
     * @param id 预订单id
     * @Function  删除草稿订单
     */
    @Transactional
    public void deleteInfo(Long id);

    /**
     * @author Guoshichang   
     * @since 12:46 on 2018/11/14.
     * @param orderNo 订单号
     * @return 输出pdf的列表
     * @Function  
     */
    public List<InventoryPrintDto> getExportModelList(String orderNo);
}
